home *** CD-ROM | disk | FTP | other *** search
/ Pascal Super Library / Pascal Super Library (CW International)(1997).bin / SWAG / SWAGA_C / COMM.SWG / 0086_RA User Viewer.pas < prev    next >
Pascal/Delphi Source File  |  1995-05-26  |  4KB  |  121 lines

  1. {
  2. {This program will find the RA enviroment,open up CONFIG.RA and get the
  3. path to the message base as it is entered in RACONFIG,then open up the
  4. USERS.BBS as found in the message base,then list all users by scrolling
  5. with the PgUp/PgDn keys,this program does not do anything exept *view* the
  6. users,as such it is a good learning tool and a skeleton for a user Editor}
  7.  
  8. Program RA_User_Viewer;
  9. Uses Crt, Dos;
  10. {$I STRUCT.200}
  11. Var
  12.    UserRec : USERSrecord;
  13.    UserFile : File of USERSrecord;
  14.    SysPath : String;
  15.    SysRec: CONFIGrecord;
  16.    SysFile : File of CONFIGrecord;
  17.    X,a : Integer;
  18.    Y : LongInt;
  19.    Done : Boolean;
  20.    Ch : Char;
  21.  
  22. Begin
  23.    ClrScr;
  24.    SysPath := GetEnv('RA'); {find out where RA is}
  25.        if SysPath[length(SysPath)] <> '\' then
  26.        SysPath := SysPath + '\';
  27.        SysPath := SysPath + 'CONFIG.RA';
  28.    {$I-}
  29.    Assign(SysFile,Syspath);
  30.    Reset(SysFile);
  31.     {$I+}
  32.     If IOresult <> 0 then Begin
  33.     WriteLn(' Error Reading ',SysPath);
  34.     WriteLn(' Exiting with Errorlevel 1');
  35.     Halt(1);   {Exit At Errorlevel 1, RA or Config.ra not found}
  36.     End;
  37.  
  38.    read(SysFile,SysRec); {open up CONFIG.RA and find the *Path* to the}
  39.                          { Messsage base,(where users.bbs is stored) }
  40.    Close(SysFile);       {and close it up right away}
  41.  
  42.    SysPath := GetEnv('RA'); {start again here to find the Users.bbs}
  43.                             {from the above Path}
  44.    SysPath := SysRec.MsgBasePath + 'USERS.BBS';
  45.    {$I-}
  46.    Assign(UserFile,Syspath);
  47.    Reset(UserFile);
  48.    {$I+}
  49.     If IOresult <> 0 then Begin
  50.      WriteLn(' Error Reading ',SysPath);
  51.      WriteLn(' Exiting with Errorlevel 2');
  52.      Halt(2);   {Exit At Errorlevel 2 ,RA\Msgbase or Users.bbs not found}
  53.     End;
  54.    X := 0;
  55.    Done := False;
  56. Repeat
  57.    textattr:=$07;
  58.    ClrScr;
  59.    Seek(UserFile, X);
  60.    Read(UserFile, UserRec);
  61.    gotoxy(1,3);
  62.    Writeln('User #    : ',X+1);
  63.    Writeln('Name      : ',UserRec.Name);
  64.    Writeln('Handle    : ',UserRec.Handle);
  65.    WriteLn('Security  : ',UserRec.Security);
  66.    WriteLn('Location  : ',UserRec.Location);
  67.    WriteLn('Data #    : ',UserRec.DataPhone);
  68.    WriteLn('Home #    : ',UserRec.VoicePhone);
  69.    WriteLn('Birthday  : ',UserRec.BirthDate);
  70.    Write('Last Call : ',UserRec.LastDate);
  71.    WriteLn(' ',UserRec.Lasttime);
  72.    IF UserRec.Sex=0 THEN WriteLn('Sex       : Unknown');
  73.    IF UserRec.Sex=1 THEN WriteLn('Sex       : Male');
  74.    IF UserRec.Sex=2 THEN WriteLn('Sex       : Female');
  75.    WriteLn('Addr 1    : ',UserRec.Address1);
  76.    WriteLn('Addr 2    : ',UserRec.Address2);
  77.    WriteLn('Addr 3    : ',UserRec.Address3);
  78.    Writeln('Msg''s Posted : ',UserRec.Msgsposted);
  79.    Writeln('Last Read    : ',UserRec.Lastread);
  80.    Writeln('Msg Group    : ',UserRec.Msggroup);
  81.    Writeln('Msg Area     : ',UserRec.Msgarea);
  82.    WriteLn('Comment      : ',UserRec.Comment);
  83.    gotoxy(46,3);
  84.    writeln('Files Downloaded   : ',UserRec.Downloads);
  85.    gotoxy(46,4);
  86.    writeln('Download Kilobytes : ',UserRec.Downloadsk);
  87.    gotoxy(46,5);
  88.    Writeln('Files Uploaded     : ',UserRec.Uploads);
  89.    gotoxy(46,6);
  90.    writeln('Upload Kilobytes   : ',UserRec.Uploadsk);
  91.    gotoxy(46,7);
  92.    writeln('Credits  : ',UserRec.Credit);
  93.    gotoxy(46,8);
  94.    writeln('Protocol : ',UserRec.DefaultProtocol);
  95.    gotoxy(46,9);
  96.    writeln('Language : ',UserRec.Language);
  97.    gotoxy(46,10);
  98.    writeln('Number of Calls :',UserRec.NoCalls);
  99.    textattr:=14;
  100.    gotoxy(25,1);
  101.    write(' Remote Access User Viewer');
  102.    textattr:=$01;
  103.    gotoxy(1,2);
  104.    for a:=1 to 80 do write('═');
  105.    gotoxy(1,23);
  106.    for a:=1 to 80 do write('─');
  107.    textattr:=15;
  108.    gotoxy(1,24);
  109.    Write('        (PgUp) Last User     (PgDn) Next User     (ESC) Exit');
  110.     Ch := Readkey;
  111.    Case ch Of
  112.      #81 : If X < FileSize(UserFile)-1 Then Inc(X);
  113.      #73 : If X > 0 Then Dec(X);
  114.      #27 : Done := True;
  115.      #0 : Begin
  116.       end;
  117.    End;
  118. Until done;
  119. Close(UserFile);
  120. End.
  121.